Processing object data

ABSTRACT

In one example, an additive manufacturing system includes a processing system to obtain characteristic data including conditions under which a heat reservoir may be added close to a portion of the object, based on the characteristic data, add sacrificial structure data to the three-dimensional object data for a sacrificial heat reservoir structure close to a portion of the object and not connected to the object, and generate multiple slice images from the three-dimensional object data including the sacrificial structure data.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 16/164,142 filedOct. 18, 2018 which is a continuation of U.S. application Ser. No.14/888,061 filed Oct. 29, 2015, now U.S. patent No. 10,137,644, which isa Section 371 national stage of international application no.PCT/EP2014/058822 filed Apr. 30, 2014.

BACKGROUND

Additive manufacturing systems that generate three-dimensional objectson a layer-by-layer basis have been proposed as a convenient way toproduce three-dimensional objects.

An object to be generated may be represented digitally, for example in asuitable computer-aided design (CAD) format. The digital representationof an object to be generated may be processed before being provided toan additive manufacturing system to generate the object.

DRAWINGS

Examples will now be described, by way of non-limiting example only,with reference to the accompanying drawings, in which:

FIG. 1 is block diagram of an object processor according to one example;

FIG. 2 is an illustration of a number of image slices according to oneexample;

FIG. 3 is block diagram of an additive manufacturing system according toone example;

FIG. 4 is a block diagram of an object processor according to oneexample;

FIG. 5 is a block diagram showing an implementation of an objectprocessor according to one example;

FIG. 6 is a block diagram of a geometrical transformation moduleaccording to one example;

FIG. 7 is a block diagram of a sacrificial structure generation moduleaccording to one example;

FIG. 8 is a block diagram of a virtual object generation moduleaccording to one example;

FIG. 9 is an illustration of an object model according to one example;

FIG. 10 is an illustration of a virtual object according to one example;

FIG. 11 is an illustration of an object model and virtual objectaccording to one example;

FIG. 12 is a block diagram of an intermediate slice generation moduleaccording to one example;

FIG. 13 is a block diagram of an intermediate slice modification moduleaccording to one example;

FIG. 14 is a block diagram of a slice data generator module according toone example;

FIG. 15 is a block diagram of a processing pipeline according to oneexample;

FIG. 16 is a block diagram of a portion of an additive manufacturingsystem according to one example; and

FIG. 17 is an illustration of an object model according to one example.

DESCRIPTION

Some additive manufacturing systems generate three-dimensional objectsthrough the selective solidification of successive layers of a buildmaterial, such as a powdered build material. Some such systems maysolidify portions of a build material by selectively delivering an agentto a layer of build material. Some systems, for example, may use aliquid binder agent to chemically solidify build material. Othersystems, for example, may use liquid energy absorbing agents, orcoalescing agents, that cause build material to solidify when suitableenergy, such as infra-red energy, is applied.

Repetition of these processes enables a three-dimensional object to begenerated layer-by-layer, through selective solidification of portionsof successive layers of build material.

Other kinds of additive manufacturing systems also exist, includingfused deposition model (FDM) systems, selective laser sintering (SLS)and light polymerization systems, among others.

According to one example, the digital representation, such as an objectmodel, of an object to be generated may be processed before beingprovided to an additive manufacturing system to generate the object. Thetype of processing may depend, for example, on characteristics of theadditive manufacturing system on which the object is to be generated.

For example, an additive manufacturing system may unintentionallyintroduce distortions into objects it generates. This may lead to agenerated three-dimensional object not faithfully reproducing athree-dimensional object model used to generate the object. Suchdistortions may include, for example, geometrical distortions which maycause, for example, various object distortions, such as edgedistortions, and surface distortions, to name but a few.

According to examples described herein, different kinds oftransformations or processing may be performed on an object model tocompensate for any such distortions. An additive manufacturing systemmay then generate an object based on the transformed object model andproduce an object that accurately matches the object described in theoriginal object model.

The processing may, for example, also comprises specific processingbased on the type of solidification process used by an additivemanufacturing system. For example, PCT Application PCT/EP2014/050841,filed by Hewlett-Packard Development Company on 16 Jan. 2014, thecontents and teachings of which are hereby incorporated herein in theirentirety, and for which priority is claimed, describes an additivemanufacturing system to generate a three-dimensional object. Thedescribed system enables the generation of a three-dimensional objectthrough the selective solidification of portions of successive layers ofa build material through the selective delivery of multiple agents tolayers of a build material. In one example a coalescing agent and acoalescence modifier agent may be selectively delivered to layers ofbuild material.

The temporary application of energy may cause portions of the buildmaterial on which coalescing agent has been delivered or has penetratedto heat up above the melting point of the build material and tocoalesce. Upon cooling, the portions which have coalesced become solidand form part of the three-dimensional object being generated. Acoalescence modifier agent serves to modify the degree of coalescence ofa portion of build material on which the coalescence modifier agent hasbeen delivered or has penetrated.

In one example, the type of processing performed may be used to generatedata to determine on which portions of a layer of build material each ofthe agents are to be deposited.

The examples described herein are described with specific reference to amultiple agent additive manufacturing system. It will be understood,however, the examples described herein are in no way limited to use witha multiple agent additive manufacturing system, and may be used, withsuitable adaptations, with other suitable additive manufacturingsystems. Such other systems may include, for example, selective lasersintering (SLS) systems, selective inhibition sintering (SIS) systems,and fused deposition model (FDM) systems.

System Overview

FIG. 1 illustrates a block diagram of an object processor 100 accordingto one example. The object processor 100 obtains object model data 102representing a model 103 of a three-dimensional object to be generatedby an additive manufacturing system. The object processor 100additionally obtains data 106 representing characteristics of theadditive manufacturing system on which the object is to be generated.

The object processor 100 is to perform a series of transformations onthe obtained object model data 102, taking into account thecharacteristic data 106 to generate a transformed object model, as willbe described further below. Once the transformations have been performedthe object processor 100 generates slice data 108.

The generated slice data 108 represents multiple slices of thetransformed object model, with each slice represented as an image, asillustrated in FIG. 2. FIG. 2 shows a number of images 202 a to 202 n,each representing a slice of the transformed object model. It should benoted that the images shown in FIG. 2 are purely illustrative.

Each image 202 a to 202 n defines a portion or portions of a layer ofbuild material where an agent is to be delivered by an additivemanufacturing system. For example, in an additive manufacturing systemthat uses two agents, such as a coalescing agent and a coalescingmodifier agent, each image may define a portion, or portions, of a layerof build material on which a coalescing agent is to be delivered, andmay define a portion, or portions, of a layer of build material on whicha coalescence modifier agent is to be delivered. In an additivemanufacturing system that uses more than two agents each image maydefine a portion, or portions, of a layer of build material on whicheach agent is to be delivered.

In one example, each slice may be represented by a single image. Forexample, each image may include multiple separations or channels, witheach channel defining a portion, or portions, of a layer of buildmaterial on which a different agent is to be deposited by an additivemanufacturing system.

In another example, each slice may be represented by multiple images,with each image of the slice defining a portion, or portions, of a buildmaterial on which a different agent is to be deposited by an additivemanufacturing system.

An example additive manufacturing system 302 is illustrated in FIG. 3.The additive manufacturing system 302 obtains slice data 108representing slices 202 a to 202 n and processes the slice data 108 tocontrol the system 302 to generate a three-dimensional object 304. Insome examples the additive manufacturing system 302 may perform furtherprocessing on the slice data 108 to generate data to control theadditive manufacturing system 302 to generate the three-dimensionalobject 304.

Object Processing

Referring now to FIG. 4, there is illustrated an object processor 400according to one example.

The object processor 400 comprises one or multiple transformationmodules 402, as will be described below in greater detail.

In one example, as illustrated in FIG. 5, the object processor 400 maycomprise a controller 502, such as microprocessor, coupled to a memory504 through an appropriate communications bus (not shown). The memory504 may store machine readable instructions 506. The controller 502 mayexecute the instructions 506 to cause the controller 502 to process theobject model data 102 to generate slice data 108. The instructions 506may define processing operations to be performed by the transformationmodules described herein.

In another example each transformation module may be implemented usinghardware, or a combination of software and hardware.

Geometric Transformations

In one example, the object processor 400 comprises a transformationmodule that is a geometrical transformation module 402 a, as illustratedin FIG. 6. The geometrical transformation module 402 a may perform oneor multiple geometric transformations on the object model data 102 asdescribed herein. The geometric transformations may be applied, forexample, to compensate for differences between the object 103 defined inthe object model data 102 and the object 304 generated by an additivemanufacturing system from the object model. In one example, thegeometrical transformation module 402 a may be defined in addition to orin substitution of the other modules described further below.

For example, some additive manufacturing systems may unintentionallyintroduce geometric distortions, such as size distortions, edgedistortions, surface distortions, and the like, during the generation ofa three-dimensional object. This may lead to a generatedthree-dimensional object not faithfully reproducing a three-dimensionalobject model used to generate the object.

The details relating to any such distortions may be included in, or maybe derivable from, the characteristic data 106. In one example thecharacteristic data 106 is obtained from the additive manufacturingsystem 302. In another example the characteristic data 106 may beobtained from a remote network location, such as a manufacturer's website, or in any other suitable manner.

For example, through experimentation it may be determinable that theadditive manufacturing system 302 unintentionally generatesthree-dimensional objects that are a smaller by a given percentage in aparticular axis or axes. This could occur, for example due to buildmaterial contraction during the generation of three-dimensional objects.Such data may be reflected in the characteristic data 106. Accordingly,when the object processor 400 is to process object model data 102 thetransformation module may obtain the characteristic data 106 and mayapply a suitable geometrical scaling factor to the object model data102. In this way an object 304 generated by the additive manufacturingsystem may better conform to the object model 103 defined in the objectmodel data 102.

In another example, distortions may be unintentionally introduced intothree-dimensional objects generated by the additive manufacturing system302 due to factors such as, for example, the heating of build materialand the cooling of build material. If such distortions can be quantifiedthey may be included in the characteristic data 106 and used by thetransformation module to perform a suitable geometrical transformationmodule to compensate for any distortion. In one example thecharacteristic data may include a lookup table.

In one example, the characteristic data 106 may be linked toenvironmental or other conditions. For example, it may be determinedthat when the ambient temperature is 20 degrees Celsius a first scalingfactor is to be applied in a given axis or axes, whereas when theambient temperature is 30 degrees Celsius a second scaling factor is tobe applied.

In one example, the characteristic data 106 may define characteristicsof a build material to be used by an additive manufacturing system. Forexample, the characteristic data 106 may comprise data relating tophysical characteristics of the build material, the age of the buildmaterial, the humidity level of the build material, the type of buildmaterial, the average particle size of the build material (for powderedbuild materials), the pureness of the build material, and so on.

In one example the characteristic data 106 may define characteristics ofagents used in the additive manufacturing system, such as a coalescingagent and a coalescence modifier agent.

In other words, the characteristic data 106 may comprise any suitabledata that may be related to causing, either directly or indirectly, anunintentional geometrical transformation in objects generated by anadditive manufacturing system.

In one example a transformation may include applying a global scalingfactor to the object model described in the object model data 102. Inother examples, a transformation may include complex transformationsbased on factors that may include: object model geometry; object modelsurface topology; object model structure; and proximity of structuralfeatures within an object model.

In one example the object model data 102 may be described in a suitablevector format that may use, for example, geometrical primitives such aspoints, lines, curves, polygons, etc. some or all of which may be basedon mathematical expressions. Performing transformations on such vectordata enables complex object transformations to be performed withoutdegrading the quality of the original data.

Sacrificial Structures Generation

In one example, the object processor 400 comprises a transformationmodule that is a sacrificial structure generation (SSG) module 402 b, asillustrated in FIG. 7. In one example, the SSG module 402 b may bepresent in the object processor 400 in addition to or in substitution ofthe other transformation modules 402 described herein.

The SSG module 402 b generates new features that are added to the objectmodel 103. The new features are features that were not included in theoriginal object model 103. The new features may be structural featuresthat will be generated with the object 304 when the object is generatedby the additive manufacturing system 302 but which may be removed priorto the generated object 304 being deemed a final object. For example, atleast some of the sacrificial structures may be removed during a manualor automatic post-processing operation.

In one example the SSG module 402 b processes original object model data102, for example when no geometrical transformations are performed onthe object model data 102. In another example the SSG module 402 bprocesses object model data that has been modified as a result ofgeometrical transformations having been performed thereon by thegeometrical transformation module 402 a.

The type of sacrificial structure to be added to the object model data102 by the SSG module 402 b may be dependent, at least in part, on thecharacteristic data 106. The characteristic data 106 may, for example,define the conditions or circumstances in which a sacrificial structuremay be added to the object model data 102.

The SSG module 402 b may then add suitable features to the object modeldata 102.

For example, the characteristic data 106 may define the conditions underwhich it may be useful to add anchoring features to the object modeldata 102 to help ensure that during generation of the object the objectis suitably supported or anchored on a build support member of anadditive manufacturing system.

The SSG module 402 b may then add suitable features to the object modeldata 102.

For example, the characteristic data 106 may define the conditions underwhich it may be useful to add additional structural elements to theobject model data 102 to help ensure structural integrity of certainfeatures of the object model 103.

The SSG module 402 b may then add suitable features to the object modeldata 102.

For example, the characteristic data 106 may define the conditions underwhich it may be useful to add a ‘heat reservoir’ in proximity to aportion of the object 103 to help control the accumulation of heat andhence to control the effect of thermally induced stresses on a generatedobject. A heat reservoir may comprise, for example, an additionalobject, such as solid or other non-solid object, that is proximate tothe object model 103 and which serves to absorb or emit heat during thegeneration of a three-dimensional object.

For example, as shown in FIG. 17, when an object model 103 has anoverhanging structure 104, the SSG module 402 b may add a sacrificialobject 105 to the object model. The added sacrificial object 105 may,for example, have the same, or a similar, shape profile to theoverhanging structure 104 and be positioned below the overhangingstructure 104, but not connected to structure 104 or any other part ofthe object. When the object is generated from the model 103 by anadditive manufacturing system, the added sacrificial object 105 may actas heat source and may help decrease the thermal gradients experiencedby the overhanging structure 104. This may, for example, help reduce thedistortion of the overhanging structure. The same technique may also beused for other structural features other than overhanging structures.

The SSG module 402 b may then add suitable features to the object modeldata 102.

Virtual Object Generation

The additive manufacturing system described in PCT ApplicationPCT/EP2014/050841 mentioned above may allow three-dimensional objects tobe created that may have controllably variable, or different, objectproperties within a single generated object. This may allow an object tohave, for example, one or more variable properties, that may include:variable accuracy properties; variable surface roughness properties;variable strength properties; variable object porosity properties;variable inter-layer strength properties; variable object elasticityproperties; variable density properties; and other variable mechanicalor physical properties. For example, a created object may comprise oneportion that has a first level of surface roughness, and a secondportion that has a second level of surface roughness. Variable objectproperties may be generated within a generated object by depositingappropriate patterns of a coalescing agent and a coalescence modifieragent on a layer of build material.

An object property may be defined by object property data. The objectproperty data may, for example, be defined within the object model data102, or may, for example, be defined using external object propertydata. The object model data may define, for example, that a portion, orthe whole, of, an object is intended to have a certain object property,such as a certain surface smoothness. The object property data may alsodefine multiple object properties for a portion or portions of anobject.

The generation of a three-dimensional object with controllably variableproperties may be possible, for example, by modulating the manner inwhich agents, such as a coalescing agent and a coalescence modifieragent, are delivered to the layers of build material by the additivemanufacturing system used to generate the object.

To enable the generation of variable property objects the objectprocessor 400 may comprise a transformation module that is a virtualobject generation (VOG) module 402 c, as illustrated in FIG. 8. The VOGmodule 402 c may be present in the object processor 400 in addition toor in substitution of the other modules described herein.

The VOG module 402 c generates new ‘virtual’ objects, defined in virtualobject data 804 based on object property data 802. In one example thevirtual objects may be incorporated into the object model data 102 orinto object model data that has been previously transformed as describedabove. Virtual objects are objects that are not physically generated byan additive manufacturing system but which may cause one or multipleportions of a generated object to have different object properties. Inone example, the virtual objects may modify the way in which slice data108 is generated.

In one example the VOG module 402 c may process original object modeldata 102. In another example the VOG module 402 c may process objectmodel data that has been previously processed by a transformationmodule.

FIG. 9 shows an object model 103 of object to be generated by anadditive manufacturing system, such as the system 302.

In response to object property data associated with the object model103, the VOG module 402 c may generate a virtual object, such as virtualobject 1002, as illustrated in FIG. 10.

A portion or the whole of a generated virtual object may spatiallycoincide with a portion or the whole of an object model 103. In someexamples a virtual object may also not spatially coincide with a portionof an object model 103, but may be proximate thereto.

As illustrated in FIG. 11, the generated virtual object spatiallycoincides with portions of the object model 103. In the example shown itcan be seen that the virtual object 1002 spatially coincides with a thinlayer of the object 103 around the vertical external sides of the object103. This could, for example, be as a result of object property datadefining that the vertical external sides of the object 103 are to havea different object property than the horizontal sides of the object 103.For example, it may be intended for the object generated from the objectmodel 103 is to have a first level of surface smoothness on its verticalsides, and is to have a second level of surface smoothness on itsexternal horizontal sides.

Slice Generation

In one example, the object processor 400 comprises a transformationmodule that is an intermediate slice generation module 402 d, asillustrated in FIG. 12. The intermediate slice transformation module 402d may transform the object model data 102 (or modified object model dataif this has been modified by another transformation module) intointermediate slice data 1202. In one example the slices are representedin a suitable vector graphics format, represented in onlytwo-dimensions. Each intermediate slice may represent a slice of themodified object model as well as a corresponding slice of any coincidingvirtual object generated. In one example, the slice generation module402 d may be present in the object processor 400 in addition to or insubstitution of the other modules described herein.

It should be noted, however, that the intermediate slices generated bythe slice generation module 402 d are not the slice data 108 that isoutput by the object processor 400. Each generated intermediate slicerepresents a slice of the modified object model data 102, and eachintermediate slice may represent a slice of the modified object modelhaving a predetermined thickness. The thickness of each generatedintermediate slice may, for example, be based on the characteristic data106. In one example, the characteristic data 106 defines the thicknessof each layer of build material that is processed by the additivemanufacturing system 302. In one example, the thickness of eachgenerated intermediate slice may represent a thickness in the range ofabout 50 to 200 microns, depending on the nature of the additivemanufacturing system 302. In some examples each generated intermediateslice may represent other thicknesses.

In another example the thickness of each generated intermediate slicemay be less than the thickness of each layer processed by the additivemanufacturing system 302. In one example, the thickness of eachgenerated slice may be in the range of about 10 to 50 microns. Ifgenerated intermediate slices are thinner than the thickness of eachlayer of build material processed by the additive manufacturing system304 the additive manufacturing system 304 may combine multiple slicesbefore processing a slice of build material. This ‘over-sampling’ ofslices may enable the additive manufacturing system 304 to improve thequality of generated objects, for example, by enabling interpolation ofdata between adjacent slices. This may be beneficial, for example, if afeature of the object model 103 coincides with a boundary between twolayers of build material. In this way, an additive manufacturing systemmay use multiple slice images to determine a pattern of which one ormore agents may be delivered to a layer of build material.

The number of intermediate slices generated by the object processor 100may be determined from the characteristic data 106.

Slice Modification

In one example, the object processor 400 comprises a transformationmodule that is an intermediate slice modification (ISM) module 402 e, asillustrated in FIG. 13. In one example, the ISM module 402 e may bepresent in the object processor 400 in addition to or in substitution ofthe other modules described herein.

In examples where the ISM module 402 e is present, the slicemodification module 402 e may perform geometrical transformations onintermediate slice data 1202 to generate modified intermediate slicedata 1302. The transformations performed by the ISM module 402 e may besimilar in nature, albeit in a two-dimensional slice, to the geometrictransformations described above with reference to the geometricaltransformation module 402 a. Accordingly, when the object processor 400is to process object model data 102 the slice modification module 402 emay obtain the characteristic data 106 and apply a suitable geometricaltransformation to the appropriate slice data. In this way an object 304generated by the additive manufacturing system may better conform to theobject model 103 defined in the object model data 102.

For example, transformations to perform operations including geometricscaling and distortion compensation may be performed on generatedslices. In one example the transformations applied to the generatedslices may be made in addition to transformations performed on theobject model data 102. In other examples, at least some transformationsperformed on the generated slices may be omitted from being performed onthe object model data 102.

Final Slice Data Generation

In one example, the object processor 400 further comprises atransformation module that is a final slice data generation (FSDG)module 402 f, as illustrated in FIG. 14.

In one example the FSDG module 402 f processes the modified intermediateslice data 1302 to generate final slice data 108 taking into account thecharacteristic data 106. In one example the FSDG module 402 f processesthe unmodified intermediate slice data 1202 to generate final slice data108 taking into account the characteristic data 106.

As previously mentioned, the final slice data 108 represents multipleslices of the transformed object model, with each slice represented asan image, as illustrated in FIG. 2. In one example, each slice image isgenerated to be a continuous tone or ‘contone’ image represented in asuitable bitmap or rasterized format representing multiple channels, orseparations, each having an appropriate bit depth. In one example asuitable bit depth may be 8 bits, although in other examples other bitdepths may be used.

The generation of contone images for each slice may involve, forexample, converting vector data of each slice into solid and non-solidareas, based on the geometries defined for each slice.

In one example, each generated contone image may define, for each pixelof the contone image, a density or quantity of an agent that is to bedeposited at a corresponding location on a layer of build material. Forexample, in a contone image having a bit depth of 8 bits, each pixel ofthe contone image may represent one of 256 (zero to 255) levels. Theapplication of different quantities of agent at different locations on alayer of build material may enable an object to be generated havingvariable object properties, as described above.

The generated contone image for each slice defines, for each of theagents available in the additive manufacturing system 302, the portionsof a layer of build material on which each of the agents are to bedelivered by the additive manufacturing system 302. For example, if theadditive manufacturing system 302 uses two agents, such as a coalescingagent and a coalescence modifier agent, one channel, or separation, ofthe image may be used to represent those portions of a layer of buildmaterial on which a first agent is to be deposited, and one channel, orseparation, may be used to represent those portions of a layer of buildmaterial on which a second agent is to be deposited.

The generation of the different channels for each image slice may bebased, for example, on the presence of a portion of the modified objectmodel and a portion of a virtual object.

For example, if a modified intermediate image slice comprises only aportion of the modified object model, the FSDG module 402 f may generatean image slice that comprises only a contone image corresponding toportions of a layer of build material where a coalescing agent is to bedeposited.

If, however, a modified intermediate image slice comprises spatiallyoverlapping portions of both the modified object model and a virtualobject, the FSDG module 402 f may generate an image slice that comprisesa contone image corresponding to portions of a layer of build materialwhere a coalescing agent is to be deposited, and a contone imagecorresponding to portions of a layer of build material where acoalescence modifier agent is to be deposited.

For example, if the spatially overlapping portion of the virtual objectindicates that a specific object property is intended, the FSDG module402 f will determine the appropriate patterns in which coalescing agentand coalescing modifier agent are to be deposited on a layer of buildmaterial. In this way, when the object is generated by the additivemanufacturing system 302 that portion of the generated object will havethe intended object property.

The specific manner in which the patterns, ratios, densities, etc. ofcoalescing agent and coalescence modifier agent that, when deposited ona layer of build material, may be used to generate different objectproperties may be determinable, for example, from the characteristicdata 106, or from any suitable source.

Example Pipeline

As described above, the object processor 100 may comprise a number ofdifferent types of transformation modules 402. The exact configurationof the object processor 100 may depend on numerous factors. The objectprocessor 100 may thus act, in one example, as a processing pipeline inwhich different transformation modules may sequentially process objectmodel data to generate slice data to drive an additive manufacturingsystem. FIG. 15 shows a block diagram of a processing pipeline 1500according to one example,

The example processing pipeline 1500 comprises a geometrical transformer1502 that obtains object model data 102. The geometrical transformer1502 may perform geometrical transformations on the object data 102 asdescribed above.

The output of the geometrical transformer 1502 may then be processed bya virtual object generator 1504, as described above, and that maygenerate one or multiple virtual objects.

The output of the virtual object generator 1504 may then be processed bya slice generator 1508, as described above, to generate output slidedata 108.

One of more of the modules 1502, 1504, and 1506 may make use ofcharacteristic data 106, as described above.

In other examples other architectures of processing pipelines may beused, for example comprising more or less transformation modules thanthe processing pipeline 1500.

Final Step

The generated slice data 108 may then be supplied to an additivemanufacturing system to generate the three-dimensional objectrepresented thereby. An additive manufacturing system may, for example,perform additional processing on the slice data, for example as part ofthe data processing pipeline of the additive manufacturing system. Thedata processing pipeline, which may in some examples be similar innature to a data processing pipeline in an inkjet printing system, mayperform additional processing which may include halftoning operations,print masking operations, swath cutting operations, and the like.

FIG. 16 illustrates a portion of an additive manufacturing system 302that comprises a data processing pipeline 1602. The additivemanufacturing system data processing pipeline 1602 obtains the slicedata 108 and transforms the slice data 108 into data suitable to controlthe additive manufacturing system to generate a three-dimensional objectaccording to the slice data.

In one example the data processing pipeline 1502 may comprise ahalftoning module 1604 and a print masking module 1606. In otherexamples the data processing pipeline 1602 may comprise additional oralternative processing modules.

The halftoning module 1604 may, for example, transform the contone imageof each slice into halftone data that defines the locations or patternsin which drops of agent are to be deposited on a layer of buildmaterial.

The print masking module 1606 may, for example, transform the halftonedata into data that defines the timing of when the additivemanufacturing system 302 deposits those drops of agent. This may depend,for example, on whether mechanism used to deposit the drops of agentuses, for example, a page wide array of printhead nozzles, or a scanningprinthead.

In one example the object processor 400 may be integrated into anadditive manufacturing system such as the additive manufacturing system302.

It will be appreciated that embodiments of the present invention can berealized in the form of hardware, software or a combination of hardwareand software. Any such software may be stored in the form of volatile ornon-volatile storage such as, for example, a storage device like a ROM,whether erasable or rewritable or not, or in the form of memory such as,for example, RAM, memory chips, device or integrated circuits or on anoptically or magnetically readable medium such as, for example, a CD,DVD, magnetic disk or magnetic tape. It will be appreciated that thestorage devices and storage media are embodiments of machine-readablestorage that are suitable for storing a program or programs that, whenexecuted, implement examples described herein. Accordingly, embodimentsprovide a program comprising code for implementing a system or method asclaimed in any preceding claim and a machine readable storage storingsuch a program. Still further, embodiments of the present invention maybe conveyed electronically via any medium such as a communication signalcarried over a wired or wireless connection and embodiments suitablyencompass the same.

All of the features disclosed in this specification (including anyaccompanying claims, abstract and drawings), and/or all of the steps ofany method or process so disclosed, may be combined in any combination,except combinations where at least some of such features and/or stepsare mutually exclusive.

Each feature disclosed in this specification (including any accompanyingclaims, abstract and drawings), may be replaced by alternative featuresserving the same, equivalent or similar purpose, unless expressly statedotherwise. Thus, unless expressly stated otherwise, each featuredisclosed is one example only of a generic series of equivalent orsimilar features.

The invention claimed is:
 1. An object processor for additivemanufacturing, comprising: a controller; and a memory operativelyconnected to the controller, the memory storing machine readableinstructions to cause the controller to: perform a geometricaltransformation on object model data to compensate for distortions thatwould otherwise be introduced into an object represented by the objectmodel data when the object is generated during additive manufacturing,to form transformed object model data; and generate object slice datafrom the transformed object model data, the slice data defining aportion of each of successive layers of a powdered build material wherea liquid agent is to be selectively delivered while generating theobject.
 2. An additive manufacturing system, comprising the objectprocessor of claim 1 and a manufacturing system to generate the objectbased on the slice data.
 3. The processor of claim 1, wherein theinstructions to perform a geometrical transformation includeinstructions to apply a geometrical scaling factor to the object modeldata.
 4. The processor of claim 3, wherein the instructions to apply ageometrical scaling factor to the object model data include instructionsto apply a geometrical global scaling factor to the object model data.5. The processor of claim 1, wherein the memory stores machine readableinstructions to cause the controller to: obtain characteristic dataincluding one or more of a scaling factor corresponding to an ambienttemperature, data defining an age of a build material, data defining ahumidity level of a build material, data defining a particle size of apowdered build material, and data defining characteristics of acoalescing agent; and perform the geometrical transformation based onthe characteristic data.
 6. The processor of claim 1, wherein the memorystores machine readable instructions to cause the controller to performthe geometrical transformation based on one or more of object modelgeometry, object model surface topology, object model structure, andproximity of structural features within the object model.
 7. A methodfor additive manufacturing, comprising: performing a geometricaltransformation on object model data to compensate for distortions thatwould otherwise be introduced into an object represented by the objectmodel data when the object is generated during additive manufacturing,to form transformed object model data; and generating object slice datafrom the transformed object model data, the slice data defining aportion of each of successive layers of a powdered build material wherea liquid agent is to be selectively delivered while generating theobject.
 8. The method of claim 7, comprising generating the object basedon the slice data.
 9. The method of claim 7, wherein performing thegeometrical transformation includes applying a geometrical scalingfactor to the object model data.
 10. The method of claim 9, whereinapplying a geometrical scaling factor to the object model data includesapplying a geometrical global scaling factor to the object model data.11. The method of claim 7, comprising: obtaining characteristic dataincluding one or more of a scaling factor corresponding to an ambienttemperature, data defining an age of a build material, data defining ahumidity level of a build material, data defining a particle size of apowdered build material, and data defining characteristics of acoalescing agent; and performing the geometrical transformation based onthe characteristic data.
 12. The method of claim 7, wherein performingthe geometrical transformation includes performing the geometricaltransformation based on one or more of object model geometry, objectmodel surface topology, object model structure, and proximity ofstructural features within the object model.
 13. A method for additivemanufacturing, comprising: generating intermediate object slice datafrom object model data representing an object to be generated duringadditive manufacturing, the intermediate slice data defining a portionof each of successive layers of a powdered build material where a liquidagent is to be selectively delivered while generating the object; andperforming a geometrical transformation on the intermediate slice datato compensate for distortions that would otherwise be introduced intothe object during additive manufacturing, to form final object slicedata.
 14. The method of claim 13, comprising generating the object basedon the final slice data.
 15. The method of claim 13, comprising:obtaining characteristic data including one or more of a scaling factorcorresponding to an ambient temperature, data defining an age of a buildmaterial, data defining a humidity level of a build material, datadefining a particle size of a powdered build material, and data definingcharacteristics of a coalescing agent; and performing the geometricaltransformation based on the characteristic data.
 16. The method of claim13, comprising: performing a geometrical transformation on the objectmodel data to compensate for distortions that would otherwise beintroduced into the object during additive manufacturing, to formtransformed object model data; and generating the intermediate objectslice data from the transformed object model data.